#ifndef MATRIZ_H
#define MATRIZ_H

#include <string>

#include "../../TipoDeDato.h"
#include "../../tipos_basicos.h"
#include "../../headermmparametro.h"

struct NodoMatriz {
    int filas;
    int columnas;
    int* posicion;
};

class Matriz : implements TipoDeDato {

public:

    Matriz(int filas, int columnas);
    Matriz(string valor);
    Matriz(void* punteroADato);

    void setearValor(int fila, int columna, int valor);
    int  dameValor(int fila, int columna);

    virtual void comparar(TipoDeDato& tipoDeDato,ostream& out);

    virtual void* damePunteroAMemoria();

    virtual ClaseDeDato getClass();

    virtual ~Matriz();

private:

    NodoMatriz _nodoMatriz;

};

#endif // MATRIZ_H
